Aufgabe ======= Wir haben gesten ein "Server"-System mit mehreren Subvolumes eingerichtet. Dieses bootet derzeit in einen Konsolenlogin ohne automatische Netzwerkkonfiguration. ToDo: 1. Lasst das Netzwerk-Interface der Maschine via DHCP konfigurieren 2. Legt einen neuen User-Account an 3. Installiert den OpenSSH-Server 4. Loggt euch vom Windows-Terminal aus auf der Maschine ein 5. Ladet unter Windows die Datei `webserver.sh` von der Kursseite herunter 6. Nutzt das `sftp`-Programm im Windows-Terminal um `webserver.sh` auf den Linux-Server zu kopieren Tipp: der Server läuft auch weiter, wenn das Hyper-V-Fenster geschlossen ist. Das ermöglicht (bei vorhandener Netzwerkanbindung) die Remote-Bedienung über das Windows-Terminal. Hinweis: `sftp` verbindet zwei verschiedene Computer, es muss also auf Windows gestartet werden um zu Linux zu connecten. Hinweis: `sftp` hat _zwei_ Arbeitsverzeichnisse. mit `pwd` wird das aktuelle Verzeichnis auf dem Remote-Ende angezegt, mit `lpwd` das Verzeichnis, in dem _lokal_ dateien angesprochen werden. `cd` wechselt das Remote-Verzeichnis, `lcd` das lokale. Zusatz Shellscripting: ---------------------- - Führt `webserver.sh` via `ncat` so aus, dass es von der Windows-Maschine aus erreichbar ist ~$ ncat -kl localhost 8000 -c /path/to/webserver.sh ^- IP-Adresse der Netzwerkschnittstelle Die HTTP-Header, die vom Script gesendet werden geben unabhängig von der Antwort-Form immer einen Statuscode 200, und immer den Content-Type "text/plain" zurück. Passt das Script so an, dass eine nicht gefundene Datei, auch vom Status-Code "404 Not Found" begleitet wird. Hinweis: Die HTTP-Antworten lassen sich im "Netzwerk"-Tab des Webinspectors (F12-Taste) von Firefox, Chromium oder Edge prüfen. Hinweis: Die Wikipedia-Seite zu HTTP enthält Beispiele für korrekte Antwortausgaben. enthält zudem beispiele für Statuscodes. Hinweis: Man kann das Script zum Debugging auch direkt auf der Shell starten, statt über den Browser zu gehen. ------------ Hinweis: Wie wäre es, ersteinmal die Ausgabe der Header mit unter die Bedingungsabfrage zu stellen? Alternativ: Wie wäre es, wenn das Script zunächst immer ein 404 liefert. Auch bei existierenden Dateien. Tipp: öffnet gleich Browsertabs für alle drei Test-Cases 1. Tab: http://ip-Adresse:8000/etc 2. Tab: http://ip-Adresse:8000/etc/passwd 3. Tab: http://ip-Adresse:8000/gibtnicht